//服务器全部接口返回的数据类型
export interface ResponseData {
  code: number
  message: string
  ok: boolean
}
//spu数据的ts类型
export interface SpuData {
  id?: number
  spuName: string
  description: string
  category3Id: number //所属三级分类id
  tmId: number //品牌id
  spuSaleAttrList: null | SaleAttr[] //销售属性
  spuImageList: null | SpuImage[] //图片列表
}
//数组：元素都是已有spu类型
export type Records = SpuData[]
//定义获取已有的spu接口返回的数据ts类型
export interface SpuResponseData extends ResponseData {
  data: {
    records: Records
    total: number
    size: number
    current: number
    pages: number
  }
}

//添加、修改页面
//所有品牌数据的ts类型
export interface AllTrademark {
  id: number
  tmName: string
  logoUrl: string
}
//所有品牌接口返回的数据ts类型
export interface AllTrademarkResponseData extends ResponseData {
  data: AllTrademark[]
}
//商品图片的ts类型
export interface SpuImage {
  id: number
  spuId: number
  imgName: string
  imgUrl: string
}
//所有图片接口返回的数据ts类型
export interface SpuImageResponseData extends ResponseData {
  data: SpuImage[]
}

//已有的销售属性值对象
export interface SaleAttrValue {
  id?: number
  spuId?: number
  baseSaleAttrId: number
  saleAttrValueName: string
  saleAttrName?: string
}
//存储已有的销售属性值数组类型
export type SpuSaleAttrValueList = SaleAttrValue[]
//已有的销售属性对象
export interface SaleAttr {
  id?: number
  spuId?: number
  baseSaleAttrId: number
  saleAttrName: string
  spuSaleAttrValueList: SpuSaleAttrValueList
}
//spu已有的销售属性接口返回的数据ts类型
export interface SaleAttrResponseData extends ResponseData {
  data: SaleAttr[]
}
//已有的全部SPU的返回数据ts类型
export interface HasSaleAttr {
  id: number
  name: string
}
export interface HasSaleAttrResponseData extends HasSaleAttr {
  data: HasSaleAttr[]
}
